package services;

import contracts.ContractException;

public interface BombeService {
	
	/* Observators :*/
	
	public int getNumero();
	public int getX();
	public int getY();
	public int getAmplitude();
	public int getCompteARebours();
	public void setCompteARebours(int n);
	public boolean vaExploser();
	
	/* Constructors*/
	
	public void init(int numero, int x, int y, int amplitude) throws ContractException;
	//\pre init(num,x,y,amplitude) require 3 <= amplitude <= 11
	
	/* Observations :
	[invariants]
		0 <= getCompteARebours(B) <= 10
		vaExploser(B) = (getCompteARebourds(B) = 0)     =>    minimisation
	[init]
	       getNumero(init(num,x,y,amplitude)) = num
	       getX(init(num,x,y,amplitude)) = x
	       getY(init(num,x,y,amplitude)) = y
	       getAmplitude(init(num,x,y,amplitude)) = amplitude
	       getCompteARebours(init(num,x,y,amplitude)) = 10
   
*/

}
